#pragma once
#include "Server.h"
#include "Listener.h"
#include "Socketevent.h"

namespace Lumin {
namespace Win32 {

class CBaseServer : public CServer
{
	friend CSocketEvent;
public:
	CBaseServer(void);
	virtual~CBaseServer(void);
protected:
	virtual void OnConnected(IConnection* pConnection,DWORD dwContext);
	virtual void OnDisConnected(IConnection* pConnection,DWORD dwContext);
	virtual void OnRecv(IConnection* pConnection,ISerializeStream* pStream,DWORD dwContext);
	virtual void OnSocketEvent(CSocketEvent* pSocketEvent);
	virtual void OnConnectFailed(DWORD dwContext);
};

}
}